package cn.chiship.framework.upms.biz.user.entity;

import java.io.Serializable;

/**
 * 实体
 *
 * @author lijian
 * @date 2023-02-22
 */
public class UpmsUser implements Serializable {
    /**
     * 创建时间
     */
    private String id;

    /**
     * 创建时间
     */
    private Long gmtCreated;

    /**
     * 更新时间
     */
    private Long gmtModified;

    /**
     * 逻辑删除（0：否，1：是）
     */
    private Byte isDeleted;

    /**
     * 头像
     */
    private String avatar;

    /**
     * 帐号
     */
    private String userName;

    /**
     * 密码
     */
    private String password;

    /**
     * 是否初始化密码  0否 1是
     */
    private Byte isInitPassword;

    /**
     * 盐值
     */
    private String salt;

    /**
     * 姓名
     */
    private String realName;

    /**
     * 手机
     */
    private String mobile;

    /**
     * 电话
     */
    private String phone;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 性别(0:女，1：男，2：未知)
     */
    private Byte gender;

    /**
     * 生日
     */
    private Long birthday;

    /**
     * 是否添加到通讯录  0 否 1 是
     */
    private Byte isAddMailList;

    /**
     * 类别
     */
    private String category;

    /**
     * 是否锁定（0：否，1：是）
     */
    private Byte isLocked;

    /**
     * 工号
     */
    private String userCode;

    /**
     * 拼音
     */
    private String userPinyin;

    /**
     * 微信
     */
    private String weixin;

    /**
     * 是否内部员工
     */
    private Byte isInner;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 是否是管理员 0 否  1是
     */
    private Byte isAdmin;

    /**
     * 是否启用邮箱
     */
    private Byte isEnableEmail;

    /**
     * 认证码
     */
    private String authorizationCode;

    /**
     * 身份证
     */
    private String idNumber;

    /**
     * 籍贯
     */
    private String nativePlace;

    /**
     * 文化程度
     */
    private String educationDegree;

    /**
     * 政治面貌
     */
    private String politicalOutlook;

    /**
     * 民族
     */
    private String nation;

    /**
     * 学历
     */
    private String education;

    /**
     * 婚姻状况
     */
    private String maritalStatus;

    /**
     * 毕业院校
     */
    private String graduateSchool;

    /**
     * 最高学位
     */
    private String highestDegree;

    /**
     * 专业
     */
    private String major;

    /**
     * 人员编制
     */
    private String staffing;

    /**
     * 参加工作时间
     */
    private Long startWorkDate;

    /**
     * 现居住地
     */
    private String currentResidence;

    /**
     * 现住址
     */
    private String currentAddress;

    /**
     * 紧急联系人
     */
    private String emergencyContact;

    /**
     * 紧急联系电话
     */
    private String emergencyContactMobile;

    /**
     * 直属主管
     */
    private String reportsTo;

    private static final long serialVersionUID = 1L;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public Long getGmtCreated() {
        return gmtCreated;
    }

    public void setGmtCreated(Long gmtCreated) {
        this.gmtCreated = gmtCreated;
    }

    public Long getGmtModified() {
        return gmtModified;
    }

    public void setGmtModified(Long gmtModified) {
        this.gmtModified = gmtModified;
    }

    public Byte getIsDeleted() {
        return isDeleted;
    }

    public void setIsDeleted(Byte isDeleted) {
        this.isDeleted = isDeleted;
    }

    public String getAvatar() {
        return avatar;
    }

    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Byte getIsInitPassword() {
        return isInitPassword;
    }

    public void setIsInitPassword(Byte isInitPassword) {
        this.isInitPassword = isInitPassword;
    }

    public String getSalt() {
        return salt;
    }

    public void setSalt(String salt) {
        this.salt = salt;
    }

    public String getRealName() {
        return realName;
    }

    public void setRealName(String realName) {
        this.realName = realName;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public Byte getGender() {
        return gender;
    }

    public void setGender(Byte gender) {
        this.gender = gender;
    }

    public Long getBirthday() {
        return birthday;
    }

    public void setBirthday(Long birthday) {
        this.birthday = birthday;
    }

    public Byte getIsAddMailList() {
        return isAddMailList;
    }

    public void setIsAddMailList(Byte isAddMailList) {
        this.isAddMailList = isAddMailList;
    }

    public String getCategory() {
        return category;
    }

    public void setCategory(String category) {
        this.category = category;
    }

    public Byte getIsLocked() {
        return isLocked;
    }

    public void setIsLocked(Byte isLocked) {
        this.isLocked = isLocked;
    }

    public String getUserCode() {
        return userCode;
    }

    public void setUserCode(String userCode) {
        this.userCode = userCode;
    }

    public String getUserPinyin() {
        return userPinyin;
    }

    public void setUserPinyin(String userPinyin) {
        this.userPinyin = userPinyin;
    }

    public String getWeixin() {
        return weixin;
    }

    public void setWeixin(String weixin) {
        this.weixin = weixin;
    }

    public Byte getIsInner() {
        return isInner;
    }

    public void setIsInner(Byte isInner) {
        this.isInner = isInner;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public Byte getIsAdmin() {
        return isAdmin;
    }

    public void setIsAdmin(Byte isAdmin) {
        this.isAdmin = isAdmin;
    }

    public Byte getIsEnableEmail() {
        return isEnableEmail;
    }

    public void setIsEnableEmail(Byte isEnableEmail) {
        this.isEnableEmail = isEnableEmail;
    }

    public String getAuthorizationCode() {
        return authorizationCode;
    }

    public void setAuthorizationCode(String authorizationCode) {
        this.authorizationCode = authorizationCode;
    }

    public String getIdNumber() {
        return idNumber;
    }

    public void setIdNumber(String idNumber) {
        this.idNumber = idNumber;
    }

    public String getNativePlace() {
        return nativePlace;
    }

    public void setNativePlace(String nativePlace) {
        this.nativePlace = nativePlace;
    }

    public String getEducationDegree() {
        return educationDegree;
    }

    public void setEducationDegree(String educationDegree) {
        this.educationDegree = educationDegree;
    }

    public String getPoliticalOutlook() {
        return politicalOutlook;
    }

    public void setPoliticalOutlook(String politicalOutlook) {
        this.politicalOutlook = politicalOutlook;
    }

    public String getNation() {
        return nation;
    }

    public void setNation(String nation) {
        this.nation = nation;
    }

    public String getEducation() {
        return education;
    }

    public void setEducation(String education) {
        this.education = education;
    }

    public String getMaritalStatus() {
        return maritalStatus;
    }

    public void setMaritalStatus(String maritalStatus) {
        this.maritalStatus = maritalStatus;
    }

    public String getGraduateSchool() {
        return graduateSchool;
    }

    public void setGraduateSchool(String graduateSchool) {
        this.graduateSchool = graduateSchool;
    }

    public String getHighestDegree() {
        return highestDegree;
    }

    public void setHighestDegree(String highestDegree) {
        this.highestDegree = highestDegree;
    }

    public String getMajor() {
        return major;
    }

    public void setMajor(String major) {
        this.major = major;
    }

    public String getStaffing() {
        return staffing;
    }

    public void setStaffing(String staffing) {
        this.staffing = staffing;
    }

    public Long getStartWorkDate() {
        return startWorkDate;
    }

    public void setStartWorkDate(Long startWorkDate) {
        this.startWorkDate = startWorkDate;
    }

    public String getCurrentResidence() {
        return currentResidence;
    }

    public void setCurrentResidence(String currentResidence) {
        this.currentResidence = currentResidence;
    }

    public String getCurrentAddress() {
        return currentAddress;
    }

    public void setCurrentAddress(String currentAddress) {
        this.currentAddress = currentAddress;
    }

    public String getEmergencyContact() {
        return emergencyContact;
    }

    public void setEmergencyContact(String emergencyContact) {
        this.emergencyContact = emergencyContact;
    }

    public String getEmergencyContactMobile() {
        return emergencyContactMobile;
    }

    public void setEmergencyContactMobile(String emergencyContactMobile) {
        this.emergencyContactMobile = emergencyContactMobile;
    }

    public String getReportsTo() {
        return reportsTo;
    }

    public void setReportsTo(String reportsTo) {
        this.reportsTo = reportsTo;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", gmtCreated=").append(gmtCreated);
        sb.append(", gmtModified=").append(gmtModified);
        sb.append(", isDeleted=").append(isDeleted);
        sb.append(", avatar=").append(avatar);
        sb.append(", userName=").append(userName);
        sb.append(", password=").append(password);
        sb.append(", isInitPassword=").append(isInitPassword);
        sb.append(", salt=").append(salt);
        sb.append(", realName=").append(realName);
        sb.append(", mobile=").append(mobile);
        sb.append(", phone=").append(phone);
        sb.append(", email=").append(email);
        sb.append(", gender=").append(gender);
        sb.append(", birthday=").append(birthday);
        sb.append(", isAddMailList=").append(isAddMailList);
        sb.append(", category=").append(category);
        sb.append(", isLocked=").append(isLocked);
        sb.append(", userCode=").append(userCode);
        sb.append(", userPinyin=").append(userPinyin);
        sb.append(", weixin=").append(weixin);
        sb.append(", isInner=").append(isInner);
        sb.append(", remarks=").append(remarks);
        sb.append(", isAdmin=").append(isAdmin);
        sb.append(", isEnableEmail=").append(isEnableEmail);
        sb.append(", authorizationCode=").append(authorizationCode);
        sb.append(", idNumber=").append(idNumber);
        sb.append(", nativePlace=").append(nativePlace);
        sb.append(", educationDegree=").append(educationDegree);
        sb.append(", politicalOutlook=").append(politicalOutlook);
        sb.append(", nation=").append(nation);
        sb.append(", education=").append(education);
        sb.append(", maritalStatus=").append(maritalStatus);
        sb.append(", graduateSchool=").append(graduateSchool);
        sb.append(", highestDegree=").append(highestDegree);
        sb.append(", major=").append(major);
        sb.append(", staffing=").append(staffing);
        sb.append(", startWorkDate=").append(startWorkDate);
        sb.append(", currentResidence=").append(currentResidence);
        sb.append(", currentAddress=").append(currentAddress);
        sb.append(", emergencyContact=").append(emergencyContact);
        sb.append(", emergencyContactMobile=").append(emergencyContactMobile);
        sb.append(", reportsTo=").append(reportsTo);
        sb.append("]");
        return sb.toString();
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        UpmsUser other = (UpmsUser) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getGmtCreated() == null ? other.getGmtCreated() == null : this.getGmtCreated().equals(other.getGmtCreated()))
            && (this.getGmtModified() == null ? other.getGmtModified() == null : this.getGmtModified().equals(other.getGmtModified()))
            && (this.getIsDeleted() == null ? other.getIsDeleted() == null : this.getIsDeleted().equals(other.getIsDeleted()))
            && (this.getAvatar() == null ? other.getAvatar() == null : this.getAvatar().equals(other.getAvatar()))
            && (this.getUserName() == null ? other.getUserName() == null : this.getUserName().equals(other.getUserName()))
            && (this.getPassword() == null ? other.getPassword() == null : this.getPassword().equals(other.getPassword()))
            && (this.getIsInitPassword() == null ? other.getIsInitPassword() == null : this.getIsInitPassword().equals(other.getIsInitPassword()))
            && (this.getSalt() == null ? other.getSalt() == null : this.getSalt().equals(other.getSalt()))
            && (this.getRealName() == null ? other.getRealName() == null : this.getRealName().equals(other.getRealName()))
            && (this.getMobile() == null ? other.getMobile() == null : this.getMobile().equals(other.getMobile()))
            && (this.getPhone() == null ? other.getPhone() == null : this.getPhone().equals(other.getPhone()))
            && (this.getEmail() == null ? other.getEmail() == null : this.getEmail().equals(other.getEmail()))
            && (this.getGender() == null ? other.getGender() == null : this.getGender().equals(other.getGender()))
            && (this.getBirthday() == null ? other.getBirthday() == null : this.getBirthday().equals(other.getBirthday()))
            && (this.getIsAddMailList() == null ? other.getIsAddMailList() == null : this.getIsAddMailList().equals(other.getIsAddMailList()))
            && (this.getCategory() == null ? other.getCategory() == null : this.getCategory().equals(other.getCategory()))
            && (this.getIsLocked() == null ? other.getIsLocked() == null : this.getIsLocked().equals(other.getIsLocked()))
            && (this.getUserCode() == null ? other.getUserCode() == null : this.getUserCode().equals(other.getUserCode()))
            && (this.getUserPinyin() == null ? other.getUserPinyin() == null : this.getUserPinyin().equals(other.getUserPinyin()))
            && (this.getWeixin() == null ? other.getWeixin() == null : this.getWeixin().equals(other.getWeixin()))
            && (this.getIsInner() == null ? other.getIsInner() == null : this.getIsInner().equals(other.getIsInner()))
            && (this.getRemarks() == null ? other.getRemarks() == null : this.getRemarks().equals(other.getRemarks()))
            && (this.getIsAdmin() == null ? other.getIsAdmin() == null : this.getIsAdmin().equals(other.getIsAdmin()))
            && (this.getIsEnableEmail() == null ? other.getIsEnableEmail() == null : this.getIsEnableEmail().equals(other.getIsEnableEmail()))
            && (this.getAuthorizationCode() == null ? other.getAuthorizationCode() == null : this.getAuthorizationCode().equals(other.getAuthorizationCode()))
            && (this.getIdNumber() == null ? other.getIdNumber() == null : this.getIdNumber().equals(other.getIdNumber()))
            && (this.getNativePlace() == null ? other.getNativePlace() == null : this.getNativePlace().equals(other.getNativePlace()))
            && (this.getEducationDegree() == null ? other.getEducationDegree() == null : this.getEducationDegree().equals(other.getEducationDegree()))
            && (this.getPoliticalOutlook() == null ? other.getPoliticalOutlook() == null : this.getPoliticalOutlook().equals(other.getPoliticalOutlook()))
            && (this.getNation() == null ? other.getNation() == null : this.getNation().equals(other.getNation()))
            && (this.getEducation() == null ? other.getEducation() == null : this.getEducation().equals(other.getEducation()))
            && (this.getMaritalStatus() == null ? other.getMaritalStatus() == null : this.getMaritalStatus().equals(other.getMaritalStatus()))
            && (this.getGraduateSchool() == null ? other.getGraduateSchool() == null : this.getGraduateSchool().equals(other.getGraduateSchool()))
            && (this.getHighestDegree() == null ? other.getHighestDegree() == null : this.getHighestDegree().equals(other.getHighestDegree()))
            && (this.getMajor() == null ? other.getMajor() == null : this.getMajor().equals(other.getMajor()))
            && (this.getStaffing() == null ? other.getStaffing() == null : this.getStaffing().equals(other.getStaffing()))
            && (this.getStartWorkDate() == null ? other.getStartWorkDate() == null : this.getStartWorkDate().equals(other.getStartWorkDate()))
            && (this.getCurrentResidence() == null ? other.getCurrentResidence() == null : this.getCurrentResidence().equals(other.getCurrentResidence()))
            && (this.getCurrentAddress() == null ? other.getCurrentAddress() == null : this.getCurrentAddress().equals(other.getCurrentAddress()))
            && (this.getEmergencyContact() == null ? other.getEmergencyContact() == null : this.getEmergencyContact().equals(other.getEmergencyContact()))
            && (this.getEmergencyContactMobile() == null ? other.getEmergencyContactMobile() == null : this.getEmergencyContactMobile().equals(other.getEmergencyContactMobile()))
            && (this.getReportsTo() == null ? other.getReportsTo() == null : this.getReportsTo().equals(other.getReportsTo()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getGmtCreated() == null) ? 0 : getGmtCreated().hashCode());
        result = prime * result + ((getGmtModified() == null) ? 0 : getGmtModified().hashCode());
        result = prime * result + ((getIsDeleted() == null) ? 0 : getIsDeleted().hashCode());
        result = prime * result + ((getAvatar() == null) ? 0 : getAvatar().hashCode());
        result = prime * result + ((getUserName() == null) ? 0 : getUserName().hashCode());
        result = prime * result + ((getPassword() == null) ? 0 : getPassword().hashCode());
        result = prime * result + ((getIsInitPassword() == null) ? 0 : getIsInitPassword().hashCode());
        result = prime * result + ((getSalt() == null) ? 0 : getSalt().hashCode());
        result = prime * result + ((getRealName() == null) ? 0 : getRealName().hashCode());
        result = prime * result + ((getMobile() == null) ? 0 : getMobile().hashCode());
        result = prime * result + ((getPhone() == null) ? 0 : getPhone().hashCode());
        result = prime * result + ((getEmail() == null) ? 0 : getEmail().hashCode());
        result = prime * result + ((getGender() == null) ? 0 : getGender().hashCode());
        result = prime * result + ((getBirthday() == null) ? 0 : getBirthday().hashCode());
        result = prime * result + ((getIsAddMailList() == null) ? 0 : getIsAddMailList().hashCode());
        result = prime * result + ((getCategory() == null) ? 0 : getCategory().hashCode());
        result = prime * result + ((getIsLocked() == null) ? 0 : getIsLocked().hashCode());
        result = prime * result + ((getUserCode() == null) ? 0 : getUserCode().hashCode());
        result = prime * result + ((getUserPinyin() == null) ? 0 : getUserPinyin().hashCode());
        result = prime * result + ((getWeixin() == null) ? 0 : getWeixin().hashCode());
        result = prime * result + ((getIsInner() == null) ? 0 : getIsInner().hashCode());
        result = prime * result + ((getRemarks() == null) ? 0 : getRemarks().hashCode());
        result = prime * result + ((getIsAdmin() == null) ? 0 : getIsAdmin().hashCode());
        result = prime * result + ((getIsEnableEmail() == null) ? 0 : getIsEnableEmail().hashCode());
        result = prime * result + ((getAuthorizationCode() == null) ? 0 : getAuthorizationCode().hashCode());
        result = prime * result + ((getIdNumber() == null) ? 0 : getIdNumber().hashCode());
        result = prime * result + ((getNativePlace() == null) ? 0 : getNativePlace().hashCode());
        result = prime * result + ((getEducationDegree() == null) ? 0 : getEducationDegree().hashCode());
        result = prime * result + ((getPoliticalOutlook() == null) ? 0 : getPoliticalOutlook().hashCode());
        result = prime * result + ((getNation() == null) ? 0 : getNation().hashCode());
        result = prime * result + ((getEducation() == null) ? 0 : getEducation().hashCode());
        result = prime * result + ((getMaritalStatus() == null) ? 0 : getMaritalStatus().hashCode());
        result = prime * result + ((getGraduateSchool() == null) ? 0 : getGraduateSchool().hashCode());
        result = prime * result + ((getHighestDegree() == null) ? 0 : getHighestDegree().hashCode());
        result = prime * result + ((getMajor() == null) ? 0 : getMajor().hashCode());
        result = prime * result + ((getStaffing() == null) ? 0 : getStaffing().hashCode());
        result = prime * result + ((getStartWorkDate() == null) ? 0 : getStartWorkDate().hashCode());
        result = prime * result + ((getCurrentResidence() == null) ? 0 : getCurrentResidence().hashCode());
        result = prime * result + ((getCurrentAddress() == null) ? 0 : getCurrentAddress().hashCode());
        result = prime * result + ((getEmergencyContact() == null) ? 0 : getEmergencyContact().hashCode());
        result = prime * result + ((getEmergencyContactMobile() == null) ? 0 : getEmergencyContactMobile().hashCode());
        result = prime * result + ((getReportsTo() == null) ? 0 : getReportsTo().hashCode());
        return result;
    }
}